package cn.com.surker.production.dao;

import cn.com.surker.oa.entity.OaProductionContract;
import cn.com.surker.production.entity.TranConCar;
import cn.com.surker.production.entity.vo.TranConCarVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * <p>
 * 生产合同关联车辆表 Mapper 接口
 * </p>
 *
 * @author admin
 * @since 2024-09-04
 */
public interface TranConCarDao extends BaseMapper<TranConCar> {

	/**
	 * 查询车辆关联的合同
	 *
	 * @param orgId
	 * @param carId
	 * @return
	 */
	List<OaProductionContract> findConList(Long orgId, Long carId);

	/**
	 * 分页查询车辆信息
	 * @param page
	 * @param searchVal
	 * @param contractId
	 * @param modelType
	 * @param status
	 * @param <E>
	 * @return
	 */
	<E extends IPage<TranConCar>> E findPageVo(E page, String searchVal, Long contractId,
													 Integer modelType, Integer status);

	/**
	 * 查询公司旗下所有车辆
	 * @param orgId
	 * @return
	 */
	List<TranConCarVo> findOrgCarAll(Long orgId);

	/**
	 * 根据自编号，查询车辆信息
	 * @param orgId
	 * @param carCode
	 * @return
	 */
	TranConCarVo findOrgCarCode(String dbCode, Long orgId, String carCode);
}
